// 外部传入一个键值对
// 封装
// 创建一个对象 $
let $ = {
    // 创建方法  cookie	getCookie	removeCookie
    // 需要 key, value, 对象(可加可不加)
    cookie(key, value, json) {
        // 初始化
        json = json || {};
        // key = value
        // 键值对可能传入的是中文
        let cookie_str = `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;

        // 有效期
        // 如果传入的不是 NaN
        if (!isNaN(json.expires)) {
            // 创建日期对象
            let date = new Date();
            date.setDate(date.getDate() + json.expires);
            cookie_str += ';expires=' + date;
        }
        // 路径
        if (json.path) {
            cookie_str += ';path=' + json.path;
        }
        // 域名
        if (json.domain) {
            cookie_str += ';domain=' + json.domain;
        }
        // secure(是否加密)
        if (json.secure) {
            cookie_str += ';secure';
        }
        // 创建 cookie
        document.cookie = cookie_str;
    },
    // 获取 cookie
    getCookie() {
        // 利用切割
        let arr = document.cookie.split('; ');
        for (let i = 0, len = arr.length; i < len; i++) {
            let list = arr[i].split('=');
            // 找到key,返回value值
            if (encodeURIComponent(key) === list[0]) {
                return decodeURIComponent(list[1]);
            }
        }
    },
    removeCookie(key, json) {
        json = json || {};
        if (json.path) {
            document.cookie = encodeURIComponent(key) + '=;expires=' + new Date(0) + ';path=' + json.path;
        } else {
            document.cookie = encodeURIComponent(key) + '=;expires=' + new Date(0);
        }
    }

}
export default $